package com.cn.bcyp.api.utils;

import java.io.File;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

public class HelperUtils {

	 /**
	 * 计算百分比
	 * @param num1
	 * @param num2
	 * @return
	 */
	public String num_percent(int num1 , int num2){
		NumberFormat numberFormat = NumberFormat.getInstance();  
        numberFormat.setMaximumFractionDigits(2);  
        String result = numberFormat.format((float) num1 / (float) num2 * 100);  
        return result + "%";
	}
	
	/**
	 * 保留三位小数，四舍五入
	 * @param d
	 * @return
	 */
	 public  String formatDouble3(double d) {  
	        NumberFormat nf = NumberFormat.getNumberInstance();  
	        // 保留3位小数  
	        nf.setMaximumFractionDigits(3);  
	        return nf.format(d);  
	    }  
	
	public String getNowData(Date date) {
		DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.CHINESE);
		return df.format(date);
	}
	 
	
	 public List<Object> getFileList(){
		File directory = new File("");//设定为当前文件夹 
		List<File> files = getFiles(directory.getAbsolutePath() + "/datafile");//获取绝对路径 
		List<Object> list = new ArrayList<>();
		 // 该文件目录下文件全部放入数组
		    for(File f : files){
		        if (f.getName().endsWith(".xlsx")) {
		        	 list.add(f.getName());
				}
		    }
		return list;
	 }
	 
	 public static List<File> getFiles(String path){
		    File root = new File(path);
		    List<File> files = new ArrayList<File>();
		    if(!root.isDirectory()){
		        files.add(root);
		    }else{
		        File[] subFiles = root.listFiles();
		        for(File f : subFiles){
		            files.addAll(getFiles(f.getAbsolutePath()));
		        }    
		    }
		    return files;
		}
	 
	 public String[] listToArray(ArrayList<Object> arrayList){
		 String array[]=new String[arrayList.size()];
			for(int i=0,j=arrayList.size();i<j;i++){
				array[i]= "datafile/" + (String) arrayList.get(i);
			}
			return array;
	 }
	
}
